--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
meshchatx/src/frontend/locales/en.json 014e463527af2d3aa5ea4fc10f98d2e705093fbb (014e4635) Text, 42.67 KB
Tb4b4b4{
Tff7b72"app"Tb4b4b4: Tb4b4b4{
Tff7b72"name"Tb4b4b4: Ta5d6ff"Reticulum MeshChatX"Tb4b4b4,
Tff7b72"sync_messages"Tb4b4b4: Ta5d6ff"Sync Messages"Tb4b4b4,
Tff7b72"compose"Tb4b4b4: Ta5d6ff"Compose"Tb4b4b4,
Tff7b72"messages"Tb4b4b4: Ta5d6ff"Messages"Tb4b4b4,
Tff7b72"nomad_network"Tb4b4b4: Ta5d6ff"Nomad Network"Tb4b4b4,
Tff7b72"map"Tb4b4b4: Ta5d6ff"Map"Tb4b4b4,
Tff7b72"archives"Tb4b4b4: Ta5d6ff"Archives"Tb4b4b4,
Tff7b72"propagation_nodes"Tb4b4b4: Ta5d6ff"Propagation Nodes"Tb4b4b4,
Tff7b72"network_visualiser"Tb4b4b4: Ta5d6ff"Network Visualiser"Tb4b4b4,
Tff7b72"interfaces"Tb4b4b4: Ta5d6ff"Interfaces"Tb4b4b4,
Tff7b72"tools"Tb4b4b4: Ta5d6ff"Tools"Tb4b4b4,
Tff7b72"settings"Tb4b4b4: Ta5d6ff"Settings"Tb4b4b4,
Tff7b72"identities"Tb4b4b4: Ta5d6ff"Identities"Tb4b4b4,
Tff7b72"documentation"Tb4b4b4: Ta5d6ff"Documentation"Tb4b4b4,
Tff7b72"about"Tb4b4b4: Ta5d6ff"About"Tb4b4b4,
Tff7b72"changelog_title"Tb4b4b4: Ta5d6ff"What's New"Tb4b4b4,
Tff7b72"do_not_show_again"Tb4b4b4: Ta5d6ff"Do not show again for this version"Tb4b4b4,
Tff7b72"do_not_show_ever"Tb4b4b4: Ta5d6ff"Do not show ever again"Tb4b4b4,
Tff7b72"tutorial_title"Tb4b4b4: Ta5d6ff"Getting Started"Tb4b4b4,
Tff7b72"tutorial_welcome"Tb4b4b4: Ta5d6ff"Welcome to MeshChatX"Tb4b4b4,
Tff7b72"tutorial_connect"Tb4b4b4: Ta5d6ff"Connect to the Mesh"Tb4b4b4,
Tff7b72"tutorial_finish"Tb4b4b4: Ta5d6ff"Ready to Roll!"Tb4b4b4,
Tff7b72"tutorial_restart_required"Tb4b4b4: Ta5d6ff"Restart Required"Tb4b4b4,
Tff7b72"tutorial_docker_note"Tb4b4b4: Ta5d6ff"If you're running in Docker, ensure your container auto-restarts."Tb4b4b4,
Tff7b72"my_identity"Tb4b4b4: Ta5d6ff"My Identity"Tb4b4b4,
Tff7b72"identity_hash"Tb4b4b4: Ta5d6ff"Identity Hash"Tb4b4b4,
Tff7b72"lxmf_address"Tb4b4b4: Ta5d6ff"LXMF Address"Tb4b4b4,
Tff7b72"announce"Tb4b4b4: Ta5d6ff"Announce"Tb4b4b4,
Tff7b72"announce_now"Tb4b4b4: Ta5d6ff"Announce Now"Tb4b4b4,
Tff7b72"last_announced"Tb4b4b4: Ta5d6ff"Last announced: {time}"Tb4b4b4,
Tff7b72"last_announced_never"Tb4b4b4: Ta5d6ff"Last announced: Never"Tb4b4b4,
Tff7b72"display_name_placeholder"Tb4b4b4: Ta5d6ff"Display Name"Tb4b4b4,
Tff7b72"profile"Tb4b4b4: Ta5d6ff"Profile"Tb4b4b4,
Tff7b72"manage_identity"Tb4b4b4: Ta5d6ff"Manage your identity, transport participation and LXMF defaults."Tb4b4b4,
Tff7b72"theme"Tb4b4b4: Ta5d6ff"Theme"Tb4b4b4,
Tff7b72"theme_mode"Tb4b4b4: Ta5d6ff"{mode} mode"Tb4b4b4,
Tff7b72"transport"Tb4b4b4: Ta5d6ff"Transport"Tb4b4b4,
Tff7b72"enabled"Tb4b4b4: Ta5d6ff"Enabled"Tb4b4b4,
Tff7b72"disabled"Tb4b4b4: Ta5d6ff"Disabled"Tb4b4b4,
Tff7b72"propagation"Tb4b4b4: Ta5d6ff"Propagation"Tb4b4b4,
Tff7b72"local_node_running"Tb4b4b4: Ta5d6ff"Local node running"Tb4b4b4,
Tff7b72"client_only"Tb4b4b4: Ta5d6ff"Client-only"Tb4b4b4,
Tff7b72"copy"Tb4b4b4: Ta5d6ff"Copy"Tb4b4b4,
Tff7b72"appearance"Tb4b4b4: Ta5d6ff"Appearance"Tb4b4b4,
Tff7b72"appearance_description"Tb4b4b4: Ta5d6ff"Switch between light and dark presets anytime."Tb4b4b4,
Tff7b72"light_theme"Tb4b4b4: Ta5d6ff"Light Theme"Tb4b4b4,
Tff7b72"dark_theme"Tb4b4b4: Ta5d6ff"Dark Theme"Tb4b4b4,
Tff7b72"live_preview"Tb4b4b4: Ta5d6ff"Live preview updates instantly."Tb4b4b4,
Tff7b72"realtime"Tb4b4b4: Ta5d6ff"Realtime"Tb4b4b4,
Tff7b72"transport_mode"Tb4b4b4: Ta5d6ff"Transport Mode"Tb4b4b4,
Tff7b72"transport_description"Tb4b4b4: Ta5d6ff"Relay paths and traffic for nearby peers."Tb4b4b4,
Tff7b72"enable_transport_mode"Tb4b4b4: Ta5d6ff"Enable Transport Mode"Tb4b4b4,
Tff7b72"transport_toggle_description"Tb4b4b4: Ta5d6ff"Route announces, respond to path requests and help your mesh stay online."Tb4b4b4,
Tff7b72"requires_restart"Tb4b4b4: Ta5d6ff"Requires restart after toggling."Tb4b4b4,
Tff7b72"show_community_interfaces"Tb4b4b4: Ta5d6ff"Show Community Interfaces"Tb4b4b4,
Tff7b72"community_interfaces_description"Tb4b4b4: Ta5d6ff"Surface community-maintained presets while adding new interfaces."Tb4b4b4,
Tff7b72"reliability"Tb4b4b4: Ta5d6ff"Reliability"Tb4b4b4,
Tff7b72"messages_description"Tb4b4b4: Ta5d6ff"Configure how MeshChat handles message delivery failures. Control automatic retry behavior, attachment retransmission, and fallback mechanisms to ensure reliable message delivery across the mesh network."Tb4b4b4,
Tff7b72"auto_resend_title"Tb4b4b4: Ta5d6ff"Auto resend when peer announces"Tb4b4b4,
Tff7b72"auto_resend_description"Tb4b4b4: Ta5d6ff"Failed messages automatically retry once the destination broadcasts again."Tb4b4b4,
Tff7b72"retry_attachments_title"Tb4b4b4: Ta5d6ff"Allow retries with attachments"Tb4b4b4,
Tff7b72"retry_attachments_description"Tb4b4b4: Ta5d6ff"Large payloads will also be retried (useful when both peers have high limits)."Tb4b4b4,
Tff7b72"auto_fallback_title"Tb4b4b4: Ta5d6ff"Auto fall back to propagation node"Tb4b4b4,
Tff7b72"auto_fallback_description"Tb4b4b4: Ta5d6ff"Failed direct deliveries are queued on your preferred propagation node."Tb4b4b4,
Tff7b72"inbound_stamp_cost"Tb4b4b4: Ta5d6ff"Inbound Message Stamp Cost"Tb4b4b4,
Tff7b72"inbound_stamp_description"Tb4b4b4: Ta5d6ff"Require proof-of-work stamps for direct delivery messages sent to you. Higher values require more computational work from senders. Range: 1-254. Default: 8."Tb4b4b4,
Tff7b72"browse_nodes"Tb4b4b4: Ta5d6ff"Browse Nodes"Tb4b4b4,
Tff7b72"propagation_nodes_description"Tb4b4b4: Ta5d6ff"Keep conversations flowing even when peers are offline."Tb4b4b4,
Tff7b72"nodes_info_1"Tb4b4b4: Ta5d6ff"Propagation nodes hold messages securely until recipients sync again."Tb4b4b4,
Tff7b72"nodes_info_2"Tb4b4b4: Ta5d6ff"Nodes peer with each other to distribute encrypted payloads."Tb4b4b4,
Tff7b72"nodes_info_3"Tb4b4b4: Ta5d6ff"Most nodes retain data ~30 days, then discard undelivered items."Tb4b4b4,
Tff7b72"run_local_node"Tb4b4b4: Ta5d6ff"Run a local propagation node"Tb4b4b4,
Tff7b72"run_local_node_description"Tb4b4b4: Ta5d6ff"MeshChat will announce and maintain a node using this local destination hash."Tb4b4b4,
Tff7b72"preferred_propagation_node"Tb4b4b4: Ta5d6ff"Preferred Propagation Node"Tb4b4b4,
Tff7b72"preferred_node_placeholder"Tb4b4b4: Ta5d6ff"Destination hash, e.g. a39610c89d18bb48c73e429582423c24"Tb4b4b4,
Tff7b72"fallback_node_description"Tb4b4b4: Ta5d6ff"Messages fallback to this node whenever direct delivery fails."Tb4b4b4,
Tff7b72"auto_sync_interval"Tb4b4b4: Ta5d6ff"Auto Sync Interval"Tb4b4b4,
Tff7b72"last_synced"Tb4b4b4: Ta5d6ff"Last synced {time} ago."Tb4b4b4,
Tff7b72"last_synced_never"Tb4b4b4: Ta5d6ff"Last synced: never."Tb4b4b4,
Tff7b72"propagation_stamp_cost"Tb4b4b4: Ta5d6ff"Propagation Node Stamp Cost"Tb4b4b4,
Tff7b72"propagation_stamp_description"Tb4b4b4: Ta5d6ff"Require proof-of-work stamps for messages propagated through your node. Higher values require more computational work. Range: 13-254. Default: 16. **Note:** Changing this requires restarting the app."Tb4b4b4,
Tff7b72"language"Tb4b4b4: Ta5d6ff"Language"Tb4b4b4,
Tff7b72"select_language"Tb4b4b4: Ta5d6ff"Select your preferred language."Tb4b4b4,
Tff7b72"custom_fork_by"Tb4b4b4: Ta5d6ff"Custom fork by"Tb4b4b4,
Tff7b72"open"Tb4b4b4: Ta5d6ff"Open"Tb4b4b4,
Tff7b72"identity"Tb4b4b4: Ta5d6ff"Identity"Tb4b4b4,
Tff7b72"lxmf_address_hash"Tb4b4b4: Ta5d6ff"LXMF Address Hash"Tb4b4b4,
Tff7b72"propagation_node_status"Tb4b4b4: Ta5d6ff"Propagation Node Status"Tb4b4b4,
Tff7b72"last_sync"Tb4b4b4: Ta5d6ff"Last Sync: {time} ago"Tb4b4b4,
Tff7b72"last_sync_never"Tb4b4b4: Ta5d6ff"Last Sync: never"Tb4b4b4,
Tff7b72"syncing"Tb4b4b4: Ta5d6ff"Syncing..."Tb4b4b4,
Tff7b72"syncing_node"Tb4b4b4: Ta5d6ff"Syncing... ({state})"Tb4b4b4,
Tff7b72"synced"Tb4b4b4: Ta5d6ff"Synced"Tb4b4b4,
Tff7b72"not_synced"Tb4b4b4: Ta5d6ff"Not Synced"Tb4b4b4,
Tff7b72"not_configured"Tb4b4b4: Ta5d6ff"Not Configured"Tb4b4b4,
Tff7b72"toggle_source"Tb4b4b4: Ta5d6ff"Toggle Source Code"Tb4b4b4,
Tff7b72"audio_calls"Tb4b4b4: Ta5d6ff"Telephone"Tb4b4b4,
Tff7b72"calls"Tb4b4b4: Ta5d6ff"Calls"Tb4b4b4,
Tff7b72"status"Tb4b4b4: Ta5d6ff"Status"Tb4b4b4,
Tff7b72"active_call"Tb4b4b4: Ta5d6ff"Active Call"Tb4b4b4,
Tff7b72"incoming"Tb4b4b4: Ta5d6ff"Incoming"Tb4b4b4,
Tff7b72"outgoing"Tb4b4b4: Ta5d6ff"Outgoing"Tb4b4b4,
Tff7b72"call"Tb4b4b4: Ta5d6ff"Call"Tb4b4b4,
Tff7b72"calls_plural"Tb4b4b4: Ta5d6ff"Calls"Tb4b4b4,
Tff7b72"hop"Tb4b4b4: Ta5d6ff"hop"Tb4b4b4,
Tff7b72"hops_plural"Tb4b4b4: Ta5d6ff"hops"Tb4b4b4,
Tff7b72"hung_up_waiting"Tb4b4b4: Ta5d6ff"Hung up, waiting for call..."Tb4b4b4,
Tff7b72"view_incoming_calls"Tb4b4b4: Ta5d6ff"View Incoming Calls"Tb4b4b4,
Tff7b72"hangup_all_calls"Tb4b4b4: Ta5d6ff"Hangup all Calls"Tb4b4b4,
Tff7b72"clear_history"Tb4b4b4: Ta5d6ff"Clear History"Tb4b4b4,
Tff7b72"no_active_calls"Tb4b4b4: Ta5d6ff"No active calls"Tb4b4b4,
Tff7b72"incoming_call"Tb4b4b4: Ta5d6ff"Incoming call..."Tb4b4b4,
Tff7b72"outgoing_call"Tb4b4b4: Ta5d6ff"Outgoing call..."Tb4b4b4,
Tff7b72"call_active"Tb4b4b4: Ta5d6ff"Active"Tb4b4b4,
Tff7b72"call_ended"Tb4b4b4: Ta5d6ff"Ended"Tb4b4b4,
Tff7b72"propagation_node"Tb4b4b4: Ta5d6ff"Propagation Node"Tb4b4b4,
Tff7b72"sync_now"Tb4b4b4: Ta5d6ff"Sync Now"Tb4b4b4,
Tff7b72"setting_auto_saved"Tb4b4b4: Ta5d6ff"Setting {label} auto-saved"Tb4b4b4,
Tff7b72"auto_resend"Tb4b4b4: Ta5d6ff"Auto Resend"Tb4b4b4,
Tff7b72"retry_attachments"Tb4b4b4: Ta5d6ff"Retry Attachments"Tb4b4b4,
Tff7b72"auto_fallback"Tb4b4b4: Ta5d6ff"Auto Fallback"Tb4b4b4,
Tff7b72"community_interfaces"Tb4b4b4: Ta5d6ff"Community Interfaces"Tb4b4b4,
Tff7b72"preferred_node"Tb4b4b4: Ta5d6ff"Preferred Node"Tb4b4b4,
Tff7b72"local_node"Tb4b4b4: Ta5d6ff"Local Node"Tb4b4b4,
Tff7b72"auto_sync"Tb4b4b4: Ta5d6ff"Auto Sync"Tb4b4b4,
Tff7b72"inbound_stamp_cost_label"Tb4b4b4: Ta5d6ff"Inbound Stamp Cost"Tb4b4b4,
Tff7b72"propagation_stamp_cost_label"Tb4b4b4: Ta5d6ff"Propagation Stamp Cost"Tb4b4b4,
Tff7b72"page_archiver"Tb4b4b4: Ta5d6ff"Page Archiver"Tb4b4b4,
Tff7b72"smart_crawler"Tb4b4b4: Ta5d6ff"Smart Crawler"Tb4b4b4,
Tff7b72"authentication"Tb4b4b4: Ta5d6ff"Authentication"Tb4b4b4,
Tff7b72"banishment"Tb4b4b4: Ta5d6ff"Banishment"Tb4b4b4,
Tff7b72"banishment_description"Tb4b4b4: Ta5d6ff"Customize the visual effect shown for banished peers and nodes."Tb4b4b4,
Tff7b72"banished_effect_enabled"Tb4b4b4: Ta5d6ff"Enable Banishment Effect"Tb4b4b4,
Tff7b72"banished_effect_description"Tb4b4b4: Ta5d6ff"Show a visual overlay on banished peers and nodes."Tb4b4b4,
Tff7b72"banished_text_label"Tb4b4b4: Ta5d6ff"Banishment Text"Tb4b4b4,
Tff7b72"banished_text_description"Tb4b4b4: Ta5d6ff"Custom message to display on the overlay."Tb4b4b4,
Tff7b72"banished_color_label"Tb4b4b4: Ta5d6ff"Banishment Color"Tb4b4b4,
Tff7b72"banished_color_description"Tb4b4b4: Ta5d6ff"The color used for the banishment effect."Tb4b4b4,
Tff7b72"desktop_open_calls_in_separate_window"Tb4b4b4: Ta5d6ff"Open Calls in 2nd Window"Tb4b4b4,
Tff7b72"desktop_open_calls_in_separate_window_description"Tb4b4b4: Ta5d6ff"When a call is active, it will be shown in a separate pop-out window rather than inside the app."Tb4b4b4,
Tff7b72"desktop_hardware_acceleration_enabled"Tb4b4b4: Ta5d6ff"Hardware Acceleration"Tb4b4b4,
Tff7b72"desktop_hardware_acceleration_enabled_description"Tb4b4b4: Ta5d6ff"Disable this if you experience UI flickering, black screens or graphical glitches."Tb4b4b4,
Tff7b72"translator"Tb4b4b4: Ta5d6ff"Translator"Tb4b4b4,
Tff7b72"translator_enabled"Tb4b4b4: Ta5d6ff"Enable Translator"Tb4b4b4,
Tff7b72"translator_description"Tb4b4b4: Ta5d6ff"Enable translation features in conversations."Tb4b4b4,
Tff7b72"libretranslate_url"Tb4b4b4: Ta5d6ff"LibreTranslate URL"Tb4b4b4,
Tff7b72"libretranslate_url_description"Tb4b4b4: Ta5d6ff"The URL where LibreTranslate API is accessible."Tb4b4b4,
Tff7b72"system"Tb4b4b4: Ta5d6ff"System"Tb4b4b4,
Tff7b72"reticulum_stack"Tb4b4b4: Ta5d6ff"Reticulum Stack"Tb4b4b4,
Tff7b72"reticulum_stack_description"Tb4b4b4: Ta5d6ff"Manage the underlying Reticulum Network Stack."Tb4b4b4,
Tff7b72"reload_rns"Tb4b4b4: Ta5d6ff"Reload RNS"Tb4b4b4,
Tff7b72"reload_rns_description"Tb4b4b4: Ta5d6ff"Deregister all destinations, stop the current RNS instance, and reload it. This is useful for applying configuration changes or restarting the mesh network stack without restarting the entire application."Tb4b4b4,
Tff7b72"reloading_rns"Tb4b4b4: Ta5d6ff"Reloading RNS..."Tb4b4b4,
Tff7b72"reloaded_rns"Tb4b4b4: Ta5d6ff"Reticulum reloaded successfully"Tb4b4b4,
Tff7b72"announce_interval"Tb4b4b4: Ta5d6ff"Announce Interval"Tb4b4b4,
Tff7b72"stop_sync_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to stop syncing?"Tb4b4b4,
Tff7b72"sync_error_generic"Tb4b4b4: Ta5d6ff"Something went wrong. Try again later."Tb4b4b4,
Tff7b72"sync_complete"Tb4b4b4: Ta5d6ff"Sync complete. {count} messages received."Tb4b4b4,
Tff7b72"sync_error"Tb4b4b4: Ta5d6ff"Sync error: {status}"Tb4b4b4,
Tff7b72"switching_identity"Tb4b4b4: Ta5d6ff"Switching Identity..."Tb4b4b4,
Tff7b72"loading_identity"Tb4b4b4: Ta5d6ff"Loading your identity"Tb4b4b4,
Tff7b72"emergency_mode_active"Tb4b4b4: Ta5d6ff"Emergency Mode Active - Using in-memory database and restricted services."Tb4b4b4,
Tff7b72"blackhole_integration_enabled"Tb4b4b4: Ta5d6ff"Blackhole Integration"Tb4b4b4,
Tff7b72"blackhole_integration_description"Tb4b4b4: Ta5d6ff"Automatically blackhole identities at the Reticulum transport layer when banishing users in MeshChatX."
Tb4b4b4},
Tff7b72"common"Tb4b4b4: Tb4b4b4{
Tff7b72"open"Tb4b4b4: Ta5d6ff"Open"Tb4b4b4,
Tff7b72"close"Tb4b4b4: Ta5d6ff"Close"Tb4b4b4,
Tff7b72"cancel"Tb4b4b4: Ta5d6ff"Cancel"Tb4b4b4,
Tff7b72"save"Tb4b4b4: Ta5d6ff"Save"Tb4b4b4,
Tff7b72"block"Tb4b4b4: Ta5d6ff"Banish"Tb4b4b4,
Tff7b72"delete"Tb4b4b4: Ta5d6ff"Delete"Tb4b4b4,
Tff7b72"edit"Tb4b4b4: Ta5d6ff"Edit"Tb4b4b4,
Tff7b72"add"Tb4b4b4: Ta5d6ff"Add"Tb4b4b4,
Tff7b72"sync"Tb4b4b4: Ta5d6ff"Sync"Tb4b4b4,
Tff7b72"restart_app"Tb4b4b4: Ta5d6ff"Restart App"Tb4b4b4,
Tff7b72"reveal"Tb4b4b4: Ta5d6ff"Reveal"Tb4b4b4,
Tff7b72"refresh"Tb4b4b4: Ta5d6ff"Refresh"Tb4b4b4,
Tff7b72"vacuum"Tb4b4b4: Ta5d6ff"Vacuum"Tb4b4b4,
Tff7b72"auto_recover"Tb4b4b4: Ta5d6ff"Auto Recover"Tb4b4b4,
Tff7b72"shutdown"Tb4b4b4: Ta5d6ff"Shutdown"Tb4b4b4,
Tff7b72"acknowledge_reset"Tb4b4b4: Ta5d6ff"Acknowledge & Reset"Tb4b4b4,
Tff7b72"confirm"Tb4b4b4: Ta5d6ff"Confirm"Tb4b4b4,
Tff7b72"delete_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to delete this? This cannot be undone."
Tb4b4b4},
Tff7b72"identities"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Identities"Tb4b4b4,
Tff7b72"manage"Tb4b4b4: Ta5d6ff"Manage and switch between multiple Reticulum identities."Tb4b4b4,
Tff7b72"new_identity"Tb4b4b4: Ta5d6ff"New Identity"Tb4b4b4,
Tff7b72"generate_fresh"Tb4b4b4: Ta5d6ff"Generate a fresh Reticulum identity."Tb4b4b4,
Tff7b72"display_name"Tb4b4b4: Ta5d6ff"Display Name"Tb4b4b4,
Tff7b72"display_name_hint"Tb4b4b4: Ta5d6ff"e.g. Secret Agent"Tb4b4b4,
Tff7b72"current"Tb4b4b4: Ta5d6ff"Current"Tb4b4b4,
Tff7b72"switch"Tb4b4b4: Ta5d6ff"Switch to this identity"Tb4b4b4,
Tff7b72"delete"Tb4b4b4: Ta5d6ff"Delete identity"Tb4b4b4,
Tff7b72"no_identities"Tb4b4b4: Ta5d6ff"No identities found"Tb4b4b4,
Tff7b72"create_first"Tb4b4b4: Ta5d6ff"Create a new identity to get started."Tb4b4b4,
Tff7b72"switch_confirm"Tb4b4b4: Ta5d6ff"Switch to identity \"{name}\"? The application will need to restart."Tb4b4b4,
Tff7b72"delete_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to delete identity \"{name}\"? This cannot be undone."Tb4b4b4,
Tff7b72"switched"Tb4b4b4: Ta5d6ff"Identity switched. The application will now restart to apply changes."Tb4b4b4,
Tff7b72"created"Tb4b4b4: Ta5d6ff"Identity created successfully"Tb4b4b4,
Tff7b72"deleted"Tb4b4b4: Ta5d6ff"Identity deleted"
Tb4b4b4},
Tff7b72"about"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"About"Tb4b4b4,
Tff7b72"version"Tb4b4b4: Ta5d6ff"v{version}"Tb4b4b4,
Tff7b72"rns_version"Tb4b4b4: Ta5d6ff"RNS {version}"Tb4b4b4,
Tff7b72"lxmf_version"Tb4b4b4: Ta5d6ff"LXMF {version}"Tb4b4b4,
Tff7b72"python_version"Tb4b4b4: Ta5d6ff"Python {version}"Tb4b4b4,
Tff7b72"config_path"Tb4b4b4: Ta5d6ff"Config path"Tb4b4b4,
Tff7b72"database_path"Tb4b4b4: Ta5d6ff"Database path"Tb4b4b4,
Tff7b72"database_size"Tb4b4b4: Ta5d6ff"Database size"Tb4b4b4,
Tff7b72"database_health"Tb4b4b4: Ta5d6ff"Database Health"Tb4b4b4,
Tff7b72"database_health_description"Tb4b4b4: Ta5d6ff"Quick check, WAL tuning, and recovery tools for the MeshChatX database."Tb4b4b4,
Tff7b72"running_checks"Tb4b4b4: Ta5d6ff"Running checks..."Tb4b4b4,
Tff7b72"integrity"Tb4b4b4: Ta5d6ff"Integrity"Tb4b4b4,
Tff7b72"journal_mode"Tb4b4b4: Ta5d6ff"Journal mode"Tb4b4b4,
Tff7b72"wal_autocheckpoint"Tb4b4b4: Ta5d6ff"WAL autocheckpoint"Tb4b4b4,
Tff7b72"page_size"Tb4b4b4: Ta5d6ff"Page size"Tb4b4b4,
Tff7b72"pages_free"Tb4b4b4: Ta5d6ff"Pages / Free"Tb4b4b4,
Tff7b72"free_space_estimate"Tb4b4b4: Ta5d6ff"Free space estimate"Tb4b4b4,
Tff7b72"system_resources"Tb4b4b4: Ta5d6ff"System Resources"Tb4b4b4,
Tff7b72"live"Tb4b4b4: Ta5d6ff"Live"Tb4b4b4,
Tff7b72"memory_rss"Tb4b4b4: Ta5d6ff"Memory (RSS)"Tb4b4b4,
Tff7b72"virtual_memory"Tb4b4b4: Ta5d6ff"Virtual Memory"Tb4b4b4,
Tff7b72"network_stats"Tb4b4b4: Ta5d6ff"Network Stats"Tb4b4b4,
Tff7b72"sent"Tb4b4b4: Ta5d6ff"Sent"Tb4b4b4,
Tff7b72"received"Tb4b4b4: Ta5d6ff"Received"Tb4b4b4,
Tff7b72"packets_sent"Tb4b4b4: Ta5d6ff"Packets Sent"Tb4b4b4,
Tff7b72"packets_received"Tb4b4b4: Ta5d6ff"Packets Received"Tb4b4b4,
Tff7b72"reticulum_stats"Tb4b4b4: Ta5d6ff"Reticulum Stats"Tb4b4b4,
Tff7b72"total_paths"Tb4b4b4: Ta5d6ff"Total Paths"Tb4b4b4,
Tff7b72"announces_per_second"Tb4b4b4: Ta5d6ff"Announces / sec"Tb4b4b4,
Tff7b72"announces_per_minute"Tb4b4b4: Ta5d6ff"Announces / min"Tb4b4b4,
Tff7b72"announces_per_hour"Tb4b4b4: Ta5d6ff"Announces / hr"Tb4b4b4,
Tff7b72"download_activity"Tb4b4b4: Ta5d6ff"Download Activity"Tb4b4b4,
Tff7b72"no_downloads_yet"Tb4b4b4: Ta5d6ff"No downloads yet"Tb4b4b4,
Tff7b72"runtime_status"Tb4b4b4: Ta5d6ff"Runtime Status"Tb4b4b4,
Tff7b72"shared_instance"Tb4b4b4: Ta5d6ff"Shared Instance"Tb4b4b4,
Tff7b72"standalone_instance"Tb4b4b4: Ta5d6ff"Standalone Instance"Tb4b4b4,
Tff7b72"transport_enabled"Tb4b4b4: Ta5d6ff"Transport Enabled"Tb4b4b4,
Tff7b72"transport_disabled"Tb4b4b4: Ta5d6ff"Transport Disabled"Tb4b4b4,
Tff7b72"identity_addresses"Tb4b4b4: Ta5d6ff"Identity & Addresses"Tb4b4b4,
Tff7b72"telephone_address"Tb4b4b4: Ta5d6ff"Telephone Address"Tb4b4b4,
Tff7b72"security_integrity"Tb4b4b4: Ta5d6ff"Security Integrity"Tb4b4b4,
Tff7b72"security_integrity_description"Tb4b4b4: Ta5d6ff"System verification status for backend and data files"Tb4b4b4,
Tff7b72"secured"Tb4b4b4: Ta5d6ff"Secured"Tb4b4b4,
Tff7b72"tampering_detected"Tb4b4b4: Ta5d6ff"Tampering Detected"Tb4b4b4,
Tff7b72"technical_issues"Tb4b4b4: Ta5d6ff"Technical Issues:"Tb4b4b4,
Tff7b72"no_integrity_violations"Tb4b4b4: Ta5d6ff"No integrity violations detected since last startup."Tb4b4b4,
Tff7b72"dependency_chain"Tb4b4b4: Ta5d6ff"Dependency Chain"Tb4b4b4,
Tff7b72"other_core_components"Tb4b4b4: Ta5d6ff"Other Core Components"Tb4b4b4,
Tff7b72"backend_dependencies"Tb4b4b4: Ta5d6ff"Backend Dependencies"
Tb4b4b4},
Tff7b72"interfaces"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Interfaces"Tb4b4b4,
Tff7b72"manage"Tb4b4b4: Ta5d6ff"Manage"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Search, filter and export your Reticulum adapters."Tb4b4b4,
Tff7b72"add_interface"Tb4b4b4: Ta5d6ff"Add Interface"Tb4b4b4,
Tff7b72"import"Tb4b4b4: Ta5d6ff"Import"Tb4b4b4,
Tff7b72"export_all"Tb4b4b4: Ta5d6ff"Export all"Tb4b4b4,
Tff7b72"search_placeholder"Tb4b4b4: Ta5d6ff"Search by name, type, host..."Tb4b4b4,
Tff7b72"all"Tb4b4b4: Ta5d6ff"All"Tb4b4b4,
Tff7b72"all_types"Tb4b4b4: Ta5d6ff"All types"Tb4b4b4,
Tff7b72"no_interfaces_found"Tb4b4b4: Ta5d6ff"No interfaces found"Tb4b4b4,
Tff7b72"no_interfaces_description"Tb4b4b4: Ta5d6ff"Adjust your search or add a new interface."Tb4b4b4,
Tff7b72"restart_required"Tb4b4b4: Ta5d6ff"Restart required"Tb4b4b4,
Tff7b72"restart_description"Tb4b4b4: Ta5d6ff"Reticulum MeshChatX must be restarted for any interface changes to take effect."Tb4b4b4,
Tff7b72"restart_now"Tb4b4b4: Ta5d6ff"Restart now"
Tb4b4b4},
Tff7b72"map"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Map"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Offline-capable map with MBTiles support."Tb4b4b4,
Tff7b72"upload_mbtiles"Tb4b4b4: Ta5d6ff"Upload MBTiles"Tb4b4b4,
Tff7b72"select_file"Tb4b4b4: Ta5d6ff"Select MBTiles file"Tb4b4b4,
Tff7b72"offline_mode"Tb4b4b4: Ta5d6ff"Offline Mode"Tb4b4b4,
Tff7b72"online_mode"Tb4b4b4: Ta5d6ff"Online Mode"Tb4b4b4,
Tff7b72"attribution"Tb4b4b4: Ta5d6ff"Attribution"Tb4b4b4,
Tff7b72"bounds"Tb4b4b4: Ta5d6ff"Bounds"Tb4b4b4,
Tff7b72"center"Tb4b4b4: Ta5d6ff"Center"Tb4b4b4,
Tff7b72"zoom"Tb4b4b4: Ta5d6ff"Zoom"Tb4b4b4,
Tff7b72"uploading"Tb4b4b4: Ta5d6ff"Uploading..."Tb4b4b4,
Tff7b72"upload_success"Tb4b4b4: Ta5d6ff"Map uploaded successfully"Tb4b4b4,
Tff7b72"upload_failed"Tb4b4b4: Ta5d6ff"Failed to upload map"Tb4b4b4,
Tff7b72"no_map_loaded"Tb4b4b4: Ta5d6ff"No offline map loaded. Upload an .mbtiles file to enable offline mode."Tb4b4b4,
Tff7b72"invalid_file"Tb4b4b4: Ta5d6ff"Invalid MBTiles file. Only raster tiles are supported."Tb4b4b4,
Tff7b72"default_view"Tb4b4b4: Ta5d6ff"Default View"Tb4b4b4,
Tff7b72"set_as_default"Tb4b4b4: Ta5d6ff"Set as Default View"Tb4b4b4,
Tff7b72"export_area"Tb4b4b4: Ta5d6ff"Export Area"Tb4b4b4,
Tff7b72"export_instructions"Tb4b4b4: Ta5d6ff"Drag on the map to select an area."Tb4b4b4,
Tff7b72"min_zoom"Tb4b4b4: Ta5d6ff"Min Zoom"Tb4b4b4,
Tff7b72"max_zoom"Tb4b4b4: Ta5d6ff"Max Zoom"Tb4b4b4,
Tff7b72"tile_count"Tb4b4b4: Ta5d6ff"Estimated Tiles"Tb4b4b4,
Tff7b72"start_export"Tb4b4b4: Ta5d6ff"Start Export"Tb4b4b4,
Tff7b72"exporting"Tb4b4b4: Ta5d6ff"Exporting Map..."Tb4b4b4,
Tff7b72"download_ready"Tb4b4b4: Ta5d6ff"Export Complete"Tb4b4b4,
Tff7b72"download_now"Tb4b4b4: Ta5d6ff"Download MBTiles"Tb4b4b4,
Tff7b72"caching_enabled"Tb4b4b4: Ta5d6ff"Tile Caching"Tb4b4b4,
Tff7b72"clear_cache"Tb4b4b4: Ta5d6ff"Clear Cache"Tb4b4b4,
Tff7b72"cache_cleared"Tb4b4b4: Ta5d6ff"Tile cache cleared"Tb4b4b4,
Tff7b72"tile_server_url"Tb4b4b4: Ta5d6ff"Tile Server URL"Tb4b4b4,
Tff7b72"tile_server_url_placeholder"Tb4b4b4: Ta5d6ff"https://tile.openstreetmap.org/{z}/{x}/{y}.png"Tb4b4b4,
Tff7b72"tile_server_url_hint"Tb4b4b4: Ta5d6ff"Use {z}, {x}, {y} for zoom, column, row"Tb4b4b4,
Tff7b72"tile_server_saved"Tb4b4b4: Ta5d6ff"Tile server URL saved"Tb4b4b4,
Tff7b72"tile_server_openstreetmap"Tb4b4b4: Ta5d6ff"OpenStreetMap"Tb4b4b4,
Tff7b72"nominatim_api_url"Tb4b4b4: Ta5d6ff"Nominatim API URL"Tb4b4b4,
Tff7b72"nominatim_api_url_placeholder"Tb4b4b4: Ta5d6ff"https://nominatim.openstreetmap.org"Tb4b4b4,
Tff7b72"nominatim_api_url_hint"Tb4b4b4: Ta5d6ff"Base URL for Nominatim geocoding service"Tb4b4b4,
Tff7b72"nominatim_api_saved"Tb4b4b4: Ta5d6ff"Nominatim API URL saved"Tb4b4b4,
Tff7b72"search_placeholder"Tb4b4b4: Ta5d6ff"Search for a location..."Tb4b4b4,
Tff7b72"search_offline_error"Tb4b4b4: Ta5d6ff"Search is only available in online mode"Tb4b4b4,
Tff7b72"search_connection_error"Tb4b4b4: Ta5d6ff"Failed to connect to search service. Please check your internet connection."Tb4b4b4,
Tff7b72"search_error"Tb4b4b4: Ta5d6ff"Search error"Tb4b4b4,
Tff7b72"search_no_results"Tb4b4b4: Ta5d6ff"No results found"Tb4b4b4,
Tff7b72"custom_tile_server_unavailable"Tb4b4b4: Ta5d6ff"Custom tile server is not accessible in offline mode"Tb4b4b4,
Tff7b72"custom_nominatim_unavailable"Tb4b4b4: Ta5d6ff"Custom Nominatim server is not accessible in offline mode"Tb4b4b4,
Tff7b72"onboarding_title"Tb4b4b4: Ta5d6ff"Export to MBTiles!"Tb4b4b4,
Tff7b72"onboarding_text"Tb4b4b4: Ta5d6ff"Use the export tool to download map areas as MBTiles files for offline use."Tb4b4b4,
Tff7b72"onboarding_got_it"Tb4b4b4: Ta5d6ff"Got it"Tb4b4b4,
Tff7b72"tool_point"Tb4b4b4: Ta5d6ff"Draw Point"Tb4b4b4,
Tff7b72"tool_linestring"Tb4b4b4: Ta5d6ff"Draw Line"Tb4b4b4,
Tff7b72"tool_polygon"Tb4b4b4: Ta5d6ff"Draw Polygon"Tb4b4b4,
Tff7b72"tool_circle"Tb4b4b4: Ta5d6ff"Draw Circle"Tb4b4b4,
Tff7b72"tool_measure"Tb4b4b4: Ta5d6ff"Measure Distance/Area"Tb4b4b4,
Tff7b72"tool_clear"Tb4b4b4: Ta5d6ff"Clear Drawings"Tb4b4b4,
Tff7b72"save_drawing"Tb4b4b4: Ta5d6ff"Save Drawing Layer"Tb4b4b4,
Tff7b72"load_drawing"Tb4b4b4: Ta5d6ff"Load Drawing Layer"Tb4b4b4,
Tff7b72"save_drawing_title"Tb4b4b4: Ta5d6ff"Save Drawing Layer"Tb4b4b4,
Tff7b72"save_drawing_desc"Tb4b4b4: Ta5d6ff"Save your current map annotations to the database."Tb4b4b4,
Tff7b72"drawing_name"Tb4b4b4: Ta5d6ff"Layer Name"Tb4b4b4,
Tff7b72"drawing_name_placeholder"Tb4b4b4: Ta5d6ff"e.g., Target Area Alpha"Tb4b4b4,
Tff7b72"load_drawing_title"Tb4b4b4: Ta5d6ff"Load Drawing Layer"Tb4b4b4,
Tff7b72"loading_drawings"Tb4b4b4: Ta5d6ff"Loading saved layers..."Tb4b4b4,
Tff7b72"no_drawings"Tb4b4b4: Ta5d6ff"No Saved Layers"Tb4b4b4,
Tff7b72"no_drawings_desc"Tb4b4b4: Ta5d6ff"You haven't saved any map annotations yet."Tb4b4b4,
Tff7b72"saved_on"Tb4b4b4: Ta5d6ff"Saved on"Tb4b4b4,
Tff7b72"settings"Tb4b4b4: Ta5d6ff"Map Settings"Tb4b4b4,
Tff7b72"go_to_my_location"Tb4b4b4: Ta5d6ff"Go to My Location"
Tb4b4b4},
Tff7b72"interface"Tb4b4b4: Tb4b4b4{
Tff7b72"disable"Tb4b4b4: Ta5d6ff"Disable"Tb4b4b4,
Tff7b72"enable"Tb4b4b4: Ta5d6ff"Enable"Tb4b4b4,
Tff7b72"edit_interface"Tb4b4b4: Ta5d6ff"Edit Interface"Tb4b4b4,
Tff7b72"export_interface"Tb4b4b4: Ta5d6ff"Export Interface"Tb4b4b4,
Tff7b72"delete_interface"Tb4b4b4: Ta5d6ff"Delete Interface"Tb4b4b4,
Tff7b72"listen"Tb4b4b4: Ta5d6ff"Listen"Tb4b4b4,
Tff7b72"forward"Tb4b4b4: Ta5d6ff"Forward"Tb4b4b4,
Tff7b72"port"Tb4b4b4: Ta5d6ff"Port"Tb4b4b4,
Tff7b72"frequency"Tb4b4b4: Ta5d6ff"Frequency"Tb4b4b4,
Tff7b72"bandwidth"Tb4b4b4: Ta5d6ff"Bandwidth"Tb4b4b4,
Tff7b72"txpower"Tb4b4b4: Ta5d6ff"TX Power"Tb4b4b4,
Tff7b72"spreading_factor"Tb4b4b4: Ta5d6ff"SF"Tb4b4b4,
Tff7b72"coding_rate"Tb4b4b4: Ta5d6ff"Coding Rate"Tb4b4b4,
Tff7b72"bitrate"Tb4b4b4: Ta5d6ff"Bitrate"Tb4b4b4,
Tff7b72"tx"Tb4b4b4: Ta5d6ff"TX"Tb4b4b4,
Tff7b72"rx"Tb4b4b4: Ta5d6ff"RX"Tb4b4b4,
Tff7b72"noise"Tb4b4b4: Ta5d6ff"Noise"Tb4b4b4,
Tff7b72"clients"Tb4b4b4: Ta5d6ff"Clients"
Tb4b4b4},
Tff7b72"messages"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Messages"Tb4b4b4,
Tff7b72"conversations"Tb4b4b4: Ta5d6ff"Conversations"Tb4b4b4,
Tff7b72"announces"Tb4b4b4: Ta5d6ff"Announces"Tb4b4b4,
Tff7b72"search_placeholder"Tb4b4b4: Ta5d6ff"Search {count} conversations..."Tb4b4b4,
Tff7b72"unread"Tb4b4b4: Ta5d6ff"Unread"Tb4b4b4,
Tff7b72"failed"Tb4b4b4: Ta5d6ff"Failed"Tb4b4b4,
Tff7b72"attachments"Tb4b4b4: Ta5d6ff"Attachments"Tb4b4b4,
Tff7b72"no_messages_yet"Tb4b4b4: Ta5d6ff"No messages yet"Tb4b4b4,
Tff7b72"loading_conversations"Tb4b4b4: Ta5d6ff"Loading conversations..."Tb4b4b4,
Tff7b72"no_conversations"Tb4b4b4: Ta5d6ff"No Conversations"Tb4b4b4,
Tff7b72"discover_peers"Tb4b4b4: Ta5d6ff"Discover peers on the Announces tab"Tb4b4b4,
Tff7b72"no_search_results"Tb4b4b4: Ta5d6ff"No Results Found"Tb4b4b4,
Tff7b72"try_another_search"Tb4b4b4: Ta5d6ff"Try a different search term"Tb4b4b4,
Tff7b72"no_search_results_conversations"Tb4b4b4: Ta5d6ff"Your search didn't match any conversations."Tb4b4b4,
Tff7b72"search_placeholder_announces"Tb4b4b4: Ta5d6ff"Search {count} recent announces..."Tb4b4b4,
Tff7b72"no_peers_discovered"Tb4b4b4: Ta5d6ff"No Peers Discovered"Tb4b4b4,
Tff7b72"waiting_for_announce"Tb4b4b4: Ta5d6ff"Waiting for someone to announce!"Tb4b4b4,
Tff7b72"no_search_results_peers"Tb4b4b4: Ta5d6ff"Your search didn't match any Peers!"Tb4b4b4,
Tff7b72"direct"Tb4b4b4: Ta5d6ff"Direct"Tb4b4b4,
Tff7b72"downloading"Tb4b4b4: Ta5d6ff"Downloading"Tb4b4b4,
Tff7b72"hops"Tb4b4b4: Ta5d6ff"{count} hops"Tb4b4b4,
Tff7b72"hops_away"Tb4b4b4: Ta5d6ff"{count} hops away"Tb4b4b4,
Tff7b72"snr"Tb4b4b4: Ta5d6ff"SNR {snr}"Tb4b4b4,
Tff7b72"stamp_cost"Tb4b4b4: Ta5d6ff"Stamp Cost {cost}"Tb4b4b4,
Tff7b72"pop_out_chat"Tb4b4b4: Ta5d6ff"Pop out chat"Tb4b4b4,
Tff7b72"custom_display_name"Tb4b4b4: Ta5d6ff"Custom Display Name"Tb4b4b4,
Tff7b72"send_placeholder"Tb4b4b4: Ta5d6ff"Type a message..."Tb4b4b4,
Tff7b72"no_messages_in_conversation"Tb4b4b4: Ta5d6ff"No messages in this conversation yet."Tb4b4b4,
Tff7b72"say_hello"Tb4b4b4: Ta5d6ff"Say hello!"Tb4b4b4,
Tff7b72"no_active_chat"Tb4b4b4: Ta5d6ff"No Active Chat"Tb4b4b4,
Tff7b72"select_peer_or_enter_address"Tb4b4b4: Ta5d6ff"Select a peer from the sidebar or enter an address below"Tb4b4b4,
Tff7b72"add_files"Tb4b4b4: Ta5d6ff"Add Files"Tb4b4b4,
Tff7b72"paste_from_clipboard"Tb4b4b4: Ta5d6ff"Paste from Clipboard"Tb4b4b4,
Tff7b72"location"Tb4b4b4: Ta5d6ff"Location"Tb4b4b4,
Tff7b72"share_location"Tb4b4b4: Ta5d6ff"Share Location"Tb4b4b4,
Tff7b72"request_location"Tb4b4b4: Ta5d6ff"Request Location"Tb4b4b4,
Tff7b72"view_on_map"Tb4b4b4: Ta5d6ff"View on Map"Tb4b4b4,
Tff7b72"request"Tb4b4b4: Ta5d6ff"Request"Tb4b4b4,
Tff7b72"generate_paper_message"Tb4b4b4: Ta5d6ff"Generate Paper Message (LXM)"Tb4b4b4,
Tff7b72"recording"Tb4b4b4: Ta5d6ff"Recording: {duration}"Tb4b4b4,
Tff7b72"nomad_network_node"Tb4b4b4: Ta5d6ff"Nomad Network Node"Tb4b4b4,
Tff7b72"toggle_source"Tb4b4b4: Ta5d6ff"Toggle Source Code"
Tb4b4b4},
Tff7b72"nomadnet"Tb4b4b4: Tb4b4b4{
Tff7b72"remove_favourite"Tb4b4b4: Ta5d6ff"Remove Favourite"Tb4b4b4,
Tff7b72"add_favourite"Tb4b4b4: Ta5d6ff"Add Favourite"Tb4b4b4,
Tff7b72"page_archives"Tb4b4b4: Ta5d6ff"Page Archives"Tb4b4b4,
Tff7b72"archive_current_version"Tb4b4b4: Ta5d6ff"Archive Current Version"Tb4b4b4,
Tff7b72"no_archives_for_this_page"Tb4b4b4: Ta5d6ff"No archives for this page"Tb4b4b4,
Tff7b72"viewing_archived_version_from"Tb4b4b4: Ta5d6ff"Viewing archived version from {time}"Tb4b4b4,
Tff7b72"viewing_archived_version"Tb4b4b4: Ta5d6ff"Viewing archived version"Tb4b4b4,
Tff7b72"load_live"Tb4b4b4: Ta5d6ff"Load Live"Tb4b4b4,
Tff7b72"failed_to_load_page"Tb4b4b4: Ta5d6ff"Failed to load page"Tb4b4b4,
Tff7b72"archived_version_available"Tb4b4b4: Ta5d6ff"An archived version of this page is available."Tb4b4b4,
Tff7b72"view_archive"Tb4b4b4: Ta5d6ff"View Archive"Tb4b4b4,
Tff7b72"no_active_node"Tb4b4b4: Ta5d6ff"No Active Node"Tb4b4b4,
Tff7b72"select_node_to_browse"Tb4b4b4: Ta5d6ff"Select a Node to start browsing!"Tb4b4b4,
Tff7b72"open_nomadnet_url"Tb4b4b4: Ta5d6ff"Open a Nomadnet URL"Tb4b4b4,
Tff7b72"unknown_node"Tb4b4b4: Ta5d6ff"Unknown Node"Tb4b4b4,
Tff7b72"existing_download_in_progress"Tb4b4b4: Ta5d6ff"An existing download is in progress. Please wait for it to finish before starting another download."Tb4b4b4,
Tff7b72"favourites"Tb4b4b4: Ta5d6ff"Favourites"Tb4b4b4,
Tff7b72"announces"Tb4b4b4: Ta5d6ff"Announces"Tb4b4b4,
Tff7b72"search_favourites_placeholder"Tb4b4b4: Ta5d6ff"Search {count} favourites..."Tb4b4b4,
Tff7b72"search_placeholder_announces"Tb4b4b4: Ta5d6ff"Search {count} recent announces..."Tb4b4b4,
Tff7b72"rename"Tb4b4b4: Ta5d6ff"Rename"Tb4b4b4,
Tff7b72"remove"Tb4b4b4: Ta5d6ff"Remove"Tb4b4b4,
Tff7b72"no_favourites"Tb4b4b4: Ta5d6ff"No favourites"Tb4b4b4,
Tff7b72"add_nodes_from_announces"Tb4b4b4: Ta5d6ff"Add nodes from the announces tab."Tb4b4b4,
Tff7b72"search_announces"Tb4b4b4: Ta5d6ff"Search announces"Tb4b4b4,
Tff7b72"announced_time_ago"Tb4b4b4: Ta5d6ff"Announced {time} ago"Tb4b4b4,
Tff7b72"block_node"Tb4b4b4: Ta5d6ff"Banish Node"Tb4b4b4,
Tff7b72"no_announces_yet"Tb4b4b4: Ta5d6ff"No announces yet"Tb4b4b4,
Tff7b72"listening_for_peers"Tb4b4b4: Ta5d6ff"Listening for peers on the mesh."Tb4b4b4,
Tff7b72"block_node_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to banish {name}? Their announces will be ignored and they won't appear in the announce stream."Tb4b4b4,
Tff7b72"node_blocked_successfully"Tb4b4b4: Ta5d6ff"Node banished successfully"Tb4b4b4,
Tff7b72"failed_to_block_node"Tb4b4b4: Ta5d6ff"Failed to banish node"Tb4b4b4,
Tff7b72"rename_favourite"Tb4b4b4: Ta5d6ff"Rename this favourite"Tb4b4b4,
Tff7b72"remove_favourite_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to remove this favourite?"Tb4b4b4,
Tff7b72"enter_nomadnet_url"Tb4b4b4: Ta5d6ff"Enter a Nomadnet URL"Tb4b4b4,
Tff7b72"archiving_page"Tb4b4b4: Ta5d6ff"Archiving page..."Tb4b4b4,
Tff7b72"page_archived_successfully"Tb4b4b4: Ta5d6ff"Page archived successfully."Tb4b4b4,
Tff7b72"identify_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to identify yourself to this NomadNetwork Node? The page will reload after your identity has been sent."
Tb4b4b4},
Tff7b72"forwarder"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"LXMF Forwarder"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Forward messages from one address to another, with transparent return routing."Tb4b4b4,
Tff7b72"add_rule"Tb4b4b4: Ta5d6ff"Add Forwarding Rule"Tb4b4b4,
Tff7b72"name"Tb4b4b4: Ta5d6ff"Name"Tb4b4b4,
Tff7b72"name_placeholder"Tb4b4b4: Ta5d6ff"Rule name (e.g. Home Node)..."Tb4b4b4,
Tff7b72"forward_to_hash"Tb4b4b4: Ta5d6ff"Forward to Hash"Tb4b4b4,
Tff7b72"destination_placeholder"Tb4b4b4: Ta5d6ff"Destination LXMF hash..."Tb4b4b4,
Tff7b72"source_filter"Tb4b4b4: Ta5d6ff"Source Filter (Optional)"Tb4b4b4,
Tff7b72"source_filter_placeholder"Tb4b4b4: Ta5d6ff"Only forward from this hash..."Tb4b4b4,
Tff7b72"add_button"Tb4b4b4: Ta5d6ff"Add Rule"Tb4b4b4,
Tff7b72"active_rules"Tb4b4b4: Ta5d6ff"Active Rules"Tb4b4b4,
Tff7b72"no_rules"Tb4b4b4: Ta5d6ff"No forwarding rules configured."Tb4b4b4,
Tff7b72"active"Tb4b4b4: Ta5d6ff"Active"Tb4b4b4,
Tff7b72"disabled"Tb4b4b4: Ta5d6ff"Disabled"Tb4b4b4,
Tff7b72"forwarding_to"Tb4b4b4: Ta5d6ff"Forwarding to: {hash}"Tb4b4b4,
Tff7b72"source_filter_display"Tb4b4b4: Ta5d6ff"Source filter: {hash}"Tb4b4b4,
Tff7b72"delete_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to delete this rule?"
Tb4b4b4},
Tff7b72"archives"Tb4b4b4: Tb4b4b4{
Tff7b72"description"Tb4b4b4: Ta5d6ff"Search and view archived Nomad Network pages"Tb4b4b4,
Tff7b72"search_placeholder"Tb4b4b4: Ta5d6ff"Search content, hash or path..."Tb4b4b4,
Tff7b72"loading"Tb4b4b4: Ta5d6ff"Loading archives..."Tb4b4b4,
Tff7b72"no_archives_found"Tb4b4b4: Ta5d6ff"No archives found"Tb4b4b4,
Tff7b72"adjust_filters"Tb4b4b4: Ta5d6ff"Try adjusting your search filters."Tb4b4b4,
Tff7b72"browse_to_archive"Tb4b4b4: Ta5d6ff"Archived pages will appear here once you browse Nomad Network sites."Tb4b4b4,
Tff7b72"page"Tb4b4b4: Ta5d6ff"Page"Tb4b4b4,
Tff7b72"pages"Tb4b4b4: Ta5d6ff"Pages"Tb4b4b4,
Tff7b72"view"Tb4b4b4: Ta5d6ff"View"Tb4b4b4,
Tff7b72"showing_range"Tb4b4b4: Ta5d6ff"Showing {start} to {end} of {total} archives"Tb4b4b4,
Tff7b72"page_of"Tb4b4b4: Ta5d6ff"Page {page} of {total_pages}"
Tb4b4b4},
Tff7b72"docs"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Documentation"Tb4b4b4,
Tff7b72"subtitle"Tb4b4b4: Ta5d6ff"Reticulum manuals and guides."Tb4b4b4,
Tff7b72"status_title"Tb4b4b4: Ta5d6ff"Documentation Status"Tb4b4b4,
Tff7b72"status_downloading"Tb4b4b4: Ta5d6ff"Downloading..."Tb4b4b4,
Tff7b72"status_available"Tb4b4b4: Ta5d6ff"Offline Manual Available"Tb4b4b4,
Tff7b72"status_not_downloaded"Tb4b4b4: Ta5d6ff"Not Downloaded"Tb4b4b4,
Tff7b72"btn_download"Tb4b4b4: Ta5d6ff"Download Manuals"Tb4b4b4,
Tff7b72"btn_update"Tb4b4b4: Ta5d6ff"Update Manual"Tb4b4b4,
Tff7b72"error"Tb4b4b4: Ta5d6ff"Error"
Tb4b4b4},
Tff7b72"tools"Tb4b4b4: Tb4b4b4{
Tff7b72"utilities"Tb4b4b4: Ta5d6ff"Utilities"Tb4b4b4,
Tff7b72"power_tools"Tb4b4b4: Ta5d6ff"Power tools for operators"Tb4b4b4,
Tff7b72"diagnostics_description"Tb4b4b4: Ta5d6ff"Diagnostics and firmware helpers ship with MeshChat so you can troubleshoot peers without leaving the console."Tb4b4b4,
Tff7b72"ping"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Ping"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Latency test for any LXMF destination hash with live status."
Tb4b4b4},
Tff7b72"rnprobe"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNProbe"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Probe destinations with custom packet sizes to test connectivity."
Tb4b4b4},
Tff7b72"rncp"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNCP"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Send and receive files over RNS with progress tracking."
Tb4b4b4},
Tff7b72"rnstatus"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNStatus"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"View interface statistics and network status information."
Tb4b4b4},
Tff7b72"rnpath"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNPath"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Manage the path table, view announce rates and request paths."
Tb4b4b4},
Tff7b72"translator"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Translator"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Translate text using LibreTranslate API or local Argos Translate."
Tb4b4b4},
Tff7b72"forwarder"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Forwarder"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"LXMF forwarding with return path routing."
Tb4b4b4},
Tff7b72"rnode_flasher"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNode Flasher"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Flash and update RNode adapters without touching the command line."
Tb4b4b4},
Tff7b72"micron_editor"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Micron Editor"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Edit and preview Micron markup with live rendering."Tb4b4b4,
Tff7b72"editor"Tb4b4b4: Ta5d6ff"Editor"Tb4b4b4,
Tff7b72"preview"Tb4b4b4: Ta5d6ff"Preview"Tb4b4b4,
Tff7b72"download"Tb4b4b4: Ta5d6ff"Download"Tb4b4b4,
Tff7b72"edit"Tb4b4b4: Ta5d6ff"Edit"Tb4b4b4,
Tff7b72"view_preview"Tb4b4b4: Ta5d6ff"View Preview"Tb4b4b4,
Tff7b72"placeholder"Tb4b4b4: Ta5d6ff"Enter your Micron markup here..."Tb4b4b4,
Tff7b72"reset"Tb4b4b4: Ta5d6ff"Reset"Tb4b4b4,
Tff7b72"new_tab"Tb4b4b4: Ta5d6ff"New Tab"Tb4b4b4,
Tff7b72"rename_tab"Tb4b4b4: Ta5d6ff"Rename Tab"Tb4b4b4,
Tff7b72"confirm_reset"Tb4b4b4: Ta5d6ff"Are you sure you want to reset the editor? All your tabs and content will be lost."Tb4b4b4,
Tff7b72"confirm_delete_tab"Tb4b4b4: Ta5d6ff"Are you sure you want to delete this tab?"Tb4b4b4,
Tff7b72"main_tab"Tb4b4b4: Ta5d6ff"Main"
Tb4b4b4},
Tff7b72"paper_message"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Paper Message"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Generate and read LXMF signed paper messages via QR codes."
Tb4b4b4}
Tb4b4b4},
Tff7b72"ping"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Ping Mesh Peers"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Only {code} destinations respond to ping."Tb4b4b4,
Tff7b72"destination_hash"Tb4b4b4: Ta5d6ff"Destination Hash"Tb4b4b4,
Tff7b72"timeout_seconds"Tb4b4b4: Ta5d6ff"Ping Timeout (seconds)"Tb4b4b4,
Tff7b72"start_ping"Tb4b4b4: Ta5d6ff"Start Ping"Tb4b4b4,
Tff7b72"stop"Tb4b4b4: Ta5d6ff"Stop"Tb4b4b4,
Tff7b72"clear_results"Tb4b4b4: Ta5d6ff"Clear Results"Tb4b4b4,
Tff7b72"drop_path"Tb4b4b4: Ta5d6ff"Drop Path"Tb4b4b4,
Tff7b72"status"Tb4b4b4: Ta5d6ff"Status"Tb4b4b4,
Tff7b72"running"Tb4b4b4: Ta5d6ff"Running"Tb4b4b4,
Tff7b72"idle"Tb4b4b4: Ta5d6ff"Idle"Tb4b4b4,
Tff7b72"last_rtt"Tb4b4b4: Ta5d6ff"Last RTT"Tb4b4b4,
Tff7b72"last_error"Tb4b4b4: Ta5d6ff"Last Error"Tb4b4b4,
Tff7b72"console_output"Tb4b4b4: Ta5d6ff"Console Output"Tb4b4b4,
Tff7b72"streaming_responses"Tb4b4b4: Ta5d6ff"Streaming seq responses in real time"Tb4b4b4,
Tff7b72"no_pings_yet"Tb4b4b4: Ta5d6ff"No pings yet. Start a run to collect RTT data."Tb4b4b4,
Tff7b72"invalid_hash"Tb4b4b4: Ta5d6ff"Invalid destination hash!"Tb4b4b4,
Tff7b72"timeout_must_be_number"Tb4b4b4: Ta5d6ff"Timeout must be a number!"
Tb4b4b4},
Tff7b72"rncp"Tb4b4b4: Tb4b4b4{
Tff7b72"file_transfer"Tb4b4b4: Ta5d6ff"File Transfer"Tb4b4b4,
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNCP - Reticulum Network Copy"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Send and receive files over the Reticulum network using RNS resources. This tool allows for reliable file transfer between mesh nodes even over high-latency links."Tb4b4b4,
Tff7b72"usage_steps"Tb4b4b4: Ta5d6ff"How to use RNCP:"Tb4b4b4,
Tff7b72"step_1"Tb4b4b4: Ta5d6ff"1. To **receive** a file, go to the **Listen** tab, enter allowed identity hashes (who can send to you), and click **Start Listening**."Tb4b4b4,
Tff7b72"step_2"Tb4b4b4: Ta5d6ff"2. To **send** a file, get the **Destination Hash** of a listening node, enter the **Local File Path**, and click **Send File**."Tb4b4b4,
Tff7b72"step_3"Tb4b4b4: Ta5d6ff"3. To **fetch** a file, get the **Destination Hash** of a node listening with 'Allow Fetch' enabled, enter the **Remote File Path**, and click **Fetch File**."Tb4b4b4,
Tff7b72"send_file"Tb4b4b4: Ta5d6ff"Send File"Tb4b4b4,
Tff7b72"fetch_file"Tb4b4b4: Ta5d6ff"Fetch File"Tb4b4b4,
Tff7b72"listen"Tb4b4b4: Ta5d6ff"Listen"Tb4b4b4,
Tff7b72"destination_hash"Tb4b4b4: Ta5d6ff"Destination Hash"Tb4b4b4,
Tff7b72"file_path"Tb4b4b4: Ta5d6ff"File Path"Tb4b4b4,
Tff7b72"timeout_seconds"Tb4b4b4: Ta5d6ff"Timeout (seconds)"Tb4b4b4,
Tff7b72"disable_compression"Tb4b4b4: Ta5d6ff"Disable compression"Tb4b4b4,
Tff7b72"cancel"Tb4b4b4: Ta5d6ff"Cancel"Tb4b4b4,
Tff7b72"progress"Tb4b4b4: Ta5d6ff"Progress"Tb4b4b4,
Tff7b72"invalid_hash"Tb4b4b4: Ta5d6ff"Invalid destination hash!"Tb4b4b4,
Tff7b72"provide_file_path"Tb4b4b4: Ta5d6ff"Please provide a file path!"Tb4b4b4,
Tff7b72"file_sent_successfully"Tb4b4b4: Ta5d6ff"File sent successfully. Transfer ID: {id}"Tb4b4b4,
Tff7b72"failed_to_send"Tb4b4b4: Ta5d6ff"Failed to send file"Tb4b4b4,
Tff7b72"remote_file_path"Tb4b4b4: Ta5d6ff"Remote File Path"Tb4b4b4,
Tff7b72"save_path_optional"Tb4b4b4: Ta5d6ff"Save Path (optional)"Tb4b4b4,
Tff7b72"save_path_placeholder"Tb4b4b4: Ta5d6ff"Leave empty for current directory"Tb4b4b4,
Tff7b72"allow_overwrite"Tb4b4b4: Ta5d6ff"Allow overwrite"Tb4b4b4,
Tff7b72"provide_remote_file_path"Tb4b4b4: Ta5d6ff"Please provide a remote file path!"Tb4b4b4,
Tff7b72"file_fetched_successfully"Tb4b4b4: Ta5d6ff"File fetched successfully. Saved to: {path}"Tb4b4b4,
Tff7b72"failed_to_fetch"Tb4b4b4: Ta5d6ff"Failed to fetch file"Tb4b4b4,
Tff7b72"allowed_hashes"Tb4b4b4: Ta5d6ff"Allowed Identity Hashes (one per line)"Tb4b4b4,
Tff7b72"fetch_jail_path"Tb4b4b4: Ta5d6ff"Fetch Jail Path (optional)"Tb4b4b4,
Tff7b72"allow_fetch"Tb4b4b4: Ta5d6ff"Allow fetch"Tb4b4b4,
Tff7b72"start_listening"Tb4b4b4: Ta5d6ff"Start Listening"Tb4b4b4,
Tff7b72"stop_listening"Tb4b4b4: Ta5d6ff"Stop Listening"Tb4b4b4,
Tff7b72"listening_on"Tb4b4b4: Ta5d6ff"Listening on:"Tb4b4b4,
Tff7b72"provide_allowed_hash"Tb4b4b4: Ta5d6ff"Please provide at least one allowed identity hash!"Tb4b4b4,
Tff7b72"failed_to_start_listener"Tb4b4b4: Ta5d6ff"Failed to start listener"
Tb4b4b4},
Tff7b72"rnprobe"Tb4b4b4: Tb4b4b4{
Tff7b72"network_diagnostics"Tb4b4b4: Ta5d6ff"Network Diagnostics"Tb4b4b4,
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNProbe - Destination Probe"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Probe destinations with custom packet sizes to test connectivity and measure RTT."Tb4b4b4,
Tff7b72"destination_hash"Tb4b4b4: Ta5d6ff"Destination Hash"Tb4b4b4,
Tff7b72"full_destination_name"Tb4b4b4: Ta5d6ff"Full Destination Name"Tb4b4b4,
Tff7b72"probe_size_bytes"Tb4b4b4: Ta5d6ff"Probe Size (bytes)"Tb4b4b4,
Tff7b72"number_of_probes"Tb4b4b4: Ta5d6ff"Number of Probes"Tb4b4b4,
Tff7b72"wait_between_probes"Tb4b4b4: Ta5d6ff"Wait Between Probes (seconds)"Tb4b4b4,
Tff7b72"start_probe"Tb4b4b4: Ta5d6ff"Start Probe"Tb4b4b4,
Tff7b72"stop"Tb4b4b4: Ta5d6ff"Stop"Tb4b4b4,
Tff7b72"clear_results"Tb4b4b4: Ta5d6ff"Clear Results"Tb4b4b4,
Tff7b72"summary"Tb4b4b4: Ta5d6ff"Summary"Tb4b4b4,
Tff7b72"sent"Tb4b4b4: Ta5d6ff"Sent"Tb4b4b4,
Tff7b72"delivered"Tb4b4b4: Ta5d6ff"Delivered"Tb4b4b4,
Tff7b72"timeouts"Tb4b4b4: Ta5d6ff"Timeouts"Tb4b4b4,
Tff7b72"failed"Tb4b4b4: Ta5d6ff"Failed"Tb4b4b4,
Tff7b72"probe_results"Tb4b4b4: Ta5d6ff"Probe Results"Tb4b4b4,
Tff7b72"probe_responses_realtime"Tb4b4b4: Ta5d6ff"Probe responses in real time"Tb4b4b4,
Tff7b72"no_probes_yet"Tb4b4b4: Ta5d6ff"No probes yet. Start a probe to test connectivity."Tb4b4b4,
Tff7b72"probe_number"Tb4b4b4: Ta5d6ff"Probe #{number}"Tb4b4b4,
Tff7b72"bytes"Tb4b4b4: Ta5d6ff"bytes"Tb4b4b4,
Tff7b72"hops"Tb4b4b4: Ta5d6ff"Hops"Tb4b4b4,
Tff7b72"rtt"Tb4b4b4: Ta5d6ff"RTT"Tb4b4b4,
Tff7b72"rssi"Tb4b4b4: Ta5d6ff"RSSI"Tb4b4b4,
Tff7b72"snr"Tb4b4b4: Ta5d6ff"SNR"Tb4b4b4,
Tff7b72"quality"Tb4b4b4: Ta5d6ff"Quality"Tb4b4b4,
Tff7b72"timeout"Tb4b4b4: Ta5d6ff"Timeout"Tb4b4b4,
Tff7b72"invalid_hash"Tb4b4b4: Ta5d6ff"Invalid destination hash!"Tb4b4b4,
Tff7b72"provide_full_name"Tb4b4b4: Ta5d6ff"Please provide a full destination name!"Tb4b4b4,
Tff7b72"failed_to_probe"Tb4b4b4: Ta5d6ff"Failed to probe destination"
Tb4b4b4},
Tff7b72"rnstatus"Tb4b4b4: Tb4b4b4{
Tff7b72"network_diagnostics"Tb4b4b4: Ta5d6ff"Network Diagnostics"Tb4b4b4,
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNStatus - Network Status"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"View interface statistics and network status information."Tb4b4b4,
Tff7b72"refresh"Tb4b4b4: Ta5d6ff"Refresh"Tb4b4b4,
Tff7b72"include_link_stats"Tb4b4b4: Ta5d6ff"Include Link Stats"Tb4b4b4,
Tff7b72"sort_by"Tb4b4b4: Ta5d6ff"Sort by:"Tb4b4b4,
Tff7b72"none"Tb4b4b4: Ta5d6ff"None"Tb4b4b4,
Tff7b72"bitrate"Tb4b4b4: Ta5d6ff"Bitrate"Tb4b4b4,
Tff7b72"rx_bytes"Tb4b4b4: Ta5d6ff"RX Bytes"Tb4b4b4,
Tff7b72"tx_bytes"Tb4b4b4: Ta5d6ff"TX Bytes"Tb4b4b4,
Tff7b72"total_traffic"Tb4b4b4: Ta5d6ff"Total Traffic"Tb4b4b4,
Tff7b72"announces"Tb4b4b4: Ta5d6ff"Announces"Tb4b4b4,
Tff7b72"active_links"Tb4b4b4: Ta5d6ff"Active Links: {count}"Tb4b4b4,
Tff7b72"no_interfaces_found"Tb4b4b4: Ta5d6ff"No interfaces found. Click refresh to load status."Tb4b4b4,
Tff7b72"mode"Tb4b4b4: Ta5d6ff"Mode"Tb4b4b4,
Tff7b72"rx_packets"Tb4b4b4: Ta5d6ff"RX Packets"Tb4b4b4,
Tff7b72"tx_packets"Tb4b4b4: Ta5d6ff"TX Packets"Tb4b4b4,
Tff7b72"clients"Tb4b4b4: Ta5d6ff"Clients"Tb4b4b4,
Tff7b72"peers_reachable"Tb4b4b4: Ta5d6ff"reachable"Tb4b4b4,
Tff7b72"noise_floor"Tb4b4b4: Ta5d6ff"Noise Floor"Tb4b4b4,
Tff7b72"interference"Tb4b4b4: Ta5d6ff"Interference"Tb4b4b4,
Tff7b72"cpu_load"Tb4b4b4: Ta5d6ff"CPU Load"Tb4b4b4,
Tff7b72"cpu_temp"Tb4b4b4: Ta5d6ff"CPU Temp"Tb4b4b4,
Tff7b72"memory_load"Tb4b4b4: Ta5d6ff"Memory Load"Tb4b4b4,
Tff7b72"battery"Tb4b4b4: Ta5d6ff"Battery"Tb4b4b4,
Tff7b72"network"Tb4b4b4: Ta5d6ff"Network"Tb4b4b4,
Tff7b72"incoming_announces"Tb4b4b4: Ta5d6ff"Incoming Announces"Tb4b4b4,
Tff7b72"outgoing_announces"Tb4b4b4: Ta5d6ff"Outgoing Announces"Tb4b4b4,
Tff7b72"airtime"Tb4b4b4: Ta5d6ff"Airtime"Tb4b4b4,
Tff7b72"channel_load"Tb4b4b4: Ta5d6ff"Channel Load"
Tb4b4b4},
Tff7b72"translator"Tb4b4b4: Tb4b4b4{
Tff7b72"text_translation"Tb4b4b4: Ta5d6ff"Text Translation"Tb4b4b4,
Tff7b72"title"Tb4b4b4: Ta5d6ff"Translator"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Translate text using LibreTranslate API or local Argos Translate."Tb4b4b4,
Tff7b72"argos_translate"Tb4b4b4: Ta5d6ff"Argos Translate"Tb4b4b4,
Tff7b72"libretranslate"Tb4b4b4: Ta5d6ff"LibreTranslate"Tb4b4b4,
Tff7b72"api_server"Tb4b4b4: Ta5d6ff"LibreTranslate API Server"Tb4b4b4,
Tff7b72"api_server_description"Tb4b4b4: Ta5d6ff"Enter the base URL of your LibreTranslate server (e.g., http://localhost:5000)"Tb4b4b4,
Tff7b72"source_language"Tb4b4b4: Ta5d6ff"Source Language"Tb4b4b4,
Tff7b72"auto_detect"Tb4b4b4: Ta5d6ff"Auto-detect"Tb4b4b4,
Tff7b72"target_language"Tb4b4b4: Ta5d6ff"Target Language"Tb4b4b4,
Tff7b72"select_target_language"Tb4b4b4: Ta5d6ff"Select target language"Tb4b4b4,
Tff7b72"argos_not_detected"Tb4b4b4: Ta5d6ff"Argos Translate not detected"Tb4b4b4,
Tff7b72"argos_not_detected_desc"Tb4b4b4: Ta5d6ff"To use local translation, you must install the Argos Translate package using one of the following methods:"Tb4b4b4,
Tff7b72"method_pip_venv"Tb4b4b4: Ta5d6ff"Method 1: pip (venv)"Tb4b4b4,
Tff7b72"method_pipx"Tb4b4b4: Ta5d6ff"Method 2: pipx"Tb4b4b4,
Tff7b72"note_restart_required"Tb4b4b4: Ta5d6ff"Note: After installation, you may need to restart the application and install language packages via the Argos Translate CLI."Tb4b4b4,
Tff7b72"no_language_packages"Tb4b4b4: Ta5d6ff"No language packages detected"Tb4b4b4,
Tff7b72"no_language_packages_desc"Tb4b4b4: Ta5d6ff"Argos Translate is installed but no language packages are available. Install language packages using one of the following commands:"Tb4b4b4,
Tff7b72"install_all_languages"Tb4b4b4: Ta5d6ff"Install all languages"Tb4b4b4,
Tff7b72"install_specific_pair"Tb4b4b4: Ta5d6ff"Install specific language pair (example: English to German)"Tb4b4b4,
Tff7b72"after_install_note"Tb4b4b4: Ta5d6ff"After installing language packages, click \"Refresh Languages\" to reload available languages."Tb4b4b4,
Tff7b72"text_to_translate"Tb4b4b4: Ta5d6ff"Text to Translate"Tb4b4b4,
Tff7b72"enter_text_placeholder"Tb4b4b4: Ta5d6ff"Enter text to translate..."Tb4b4b4,
Tff7b72"translate"Tb4b4b4: Ta5d6ff"Translate"Tb4b4b4,
Tff7b72"swap"Tb4b4b4: Ta5d6ff"Swap"Tb4b4b4,
Tff7b72"clear"Tb4b4b4: Ta5d6ff"Clear"Tb4b4b4,
Tff7b72"translation"Tb4b4b4: Ta5d6ff"Translation"Tb4b4b4,
Tff7b72"source"Tb4b4b4: Ta5d6ff"Source"Tb4b4b4,
Tff7b72"detected"Tb4b4b4: Ta5d6ff"Detected"Tb4b4b4,
Tff7b72"available_languages"Tb4b4b4: Ta5d6ff"Available Languages"Tb4b4b4,
Tff7b72"languages_loaded_from"Tb4b4b4: Ta5d6ff"Languages are loaded from LibreTranslate API or Argos Translate packages."Tb4b4b4,
Tff7b72"refresh_languages"Tb4b4b4: Ta5d6ff"Refresh Languages"Tb4b4b4,
Tff7b72"failed_to_load_languages"Tb4b4b4: Ta5d6ff"Failed to load languages. Make sure LibreTranslate is running or Argos Translate is installed."Tb4b4b4,
Tff7b72"copied_to_clipboard"Tb4b4b4: Ta5d6ff"Copied to clipboard"
Tb4b4b4},
Tff7b72"call"Tb4b4b4: Tb4b4b4{
Tff7b72"phone"Tb4b4b4: Ta5d6ff"Phone"Tb4b4b4,
Tff7b72"voicemail"Tb4b4b4: Ta5d6ff"Voicemail"Tb4b4b4,
Tff7b72"settings"Tb4b4b4: Ta5d6ff"Settings"Tb4b4b4,
Tff7b72"unknown"Tb4b4b4: Ta5d6ff"Unknown"Tb4b4b4,
Tff7b72"call_ended"Tb4b4b4: Ta5d6ff"Call Ended"Tb4b4b4,
Tff7b72"call_declined"Tb4b4b4: Ta5d6ff"Call Declined"Tb4b4b4,
Tff7b72"send_to_voicemail"Tb4b4b4: Ta5d6ff"Send to Voicemail"Tb4b4b4,
Tff7b72"incoming_call"Tb4b4b4: Ta5d6ff"Incoming Call..."Tb4b4b4,
Tff7b72"busy"Tb4b4b4: Ta5d6ff"Busy..."Tb4b4b4,
Tff7b72"rejected"Tb4b4b4: Ta5d6ff"Rejected..."Tb4b4b4,
Tff7b72"calling"Tb4b4b4: Ta5d6ff"Calling..."Tb4b4b4,
Tff7b72"available"Tb4b4b4: Ta5d6ff"Available..."Tb4b4b4,
Tff7b72"ringing"Tb4b4b4: Ta5d6ff"Ringing..."Tb4b4b4,
Tff7b72"connecting"Tb4b4b4: Ta5d6ff"Connecting..."Tb4b4b4,
Tff7b72"connected"Tb4b4b4: Ta5d6ff"Connected"Tb4b4b4,
Tff7b72"accept"Tb4b4b4: Ta5d6ff"Accept"Tb4b4b4,
Tff7b72"decline"Tb4b4b4: Ta5d6ff"Decline"Tb4b4b4,
Tff7b72"hangup"Tb4b4b4: Ta5d6ff"Hangup"Tb4b4b4,
Tff7b72"answer_call"Tb4b4b4: Ta5d6ff"Answer Call"Tb4b4b4,
Tff7b72"decline_call"Tb4b4b4: Ta5d6ff"Decline Call"Tb4b4b4,
Tff7b72"hangup_call"Tb4b4b4: Ta5d6ff"Hangup Call"Tb4b4b4,
Tff7b72"mute_mic"Tb4b4b4: Ta5d6ff"Mute Mic"Tb4b4b4,
Tff7b72"unmute_mic"Tb4b4b4: Ta5d6ff"Unmute Mic"Tb4b4b4,
Tff7b72"mute_speaker"Tb4b4b4: Ta5d6ff"Mute Speaker"Tb4b4b4,
Tff7b72"unmute_speaker"Tb4b4b4: Ta5d6ff"Unmute Speaker"Tb4b4b4,
Tff7b72"telephone"Tb4b4b4: Ta5d6ff"Telephone"Tb4b4b4,
Tff7b72"enter_identity_hash_to_call"Tb4b4b4: Ta5d6ff"Enter an identity to call."Tb4b4b4,
Tff7b72"identity_hash"Tb4b4b4: Ta5d6ff"Identity Hash"Tb4b4b4,
Tff7b72"call_history"Tb4b4b4: Ta5d6ff"Call History"Tb4b4b4,
Tff7b72"call_back"Tb4b4b4: Ta5d6ff"Call Back"Tb4b4b4,
Tff7b72"no_voicemails"Tb4b4b4: Ta5d6ff"No Voicemails"Tb4b4b4,
Tff7b72"voicemails_will_appear_here"Tb4b4b4: Ta5d6ff"When people leave you messages, they'll show up here."Tb4b4b4,
Tff7b72"voicemail_inbox"Tb4b4b4: Ta5d6ff"Voicemail Inbox"Tb4b4b4,
Tff7b72"messages"Tb4b4b4: Ta5d6ff"Messages"Tb4b4b4,
Tff7b72"delete"Tb4b4b4: Ta5d6ff"Delete"Tb4b4b4,
Tff7b72"voicemail_settings"Tb4b4b4: Ta5d6ff"Voicemail Settings"Tb4b4b4,
Tff7b72"dependencies_missing"Tb4b4b4: Ta5d6ff"Dependencies Missing"Tb4b4b4,
Tff7b72"voicemail_requires_espeak"Tb4b4b4: Ta5d6ff"Voicemail requires `espeak-ng` to generate greetings. Please install it on your system."Tb4b4b4,
Tff7b72"voicemail_requires_ffmpeg"Tb4b4b4: Ta5d6ff"Voicemail requires `ffmpeg` to process audio files. Please install it on your system."Tb4b4b4,
Tff7b72"enable_voicemail"Tb4b4b4: Ta5d6ff"Enable Voicemail"Tb4b4b4,
Tff7b72"enable_voicemail_description"Tb4b4b4: Ta5d6ff"Accept calls automatically and record messages"Tb4b4b4,
Tff7b72"greeting_message"Tb4b4b4: Ta5d6ff"Greeting Message"Tb4b4b4,
Tff7b72"enter_greeting_text"Tb4b4b4: Ta5d6ff"Enter greeting text..."Tb4b4b4,
Tff7b72"greeting_text_description"Tb4b4b4: Ta5d6ff"This text will be converted to speech using eSpeak NG."Tb4b4b4,
Tff7b72"tts_speed"Tb4b4b4: Ta5d6ff"TTS Speed"Tb4b4b4,
Tff7b72"tts_pitch"Tb4b4b4: Ta5d6ff"TTS Pitch"Tb4b4b4,
Tff7b72"tts_voice"Tb4b4b4: Ta5d6ff"TTS Voice"Tb4b4b4,
Tff7b72"tts_word_gap"Tb4b4b4: Ta5d6ff"TTS Word Gap"Tb4b4b4,
Tff7b72"save_and_generate"Tb4b4b4: Ta5d6ff"Save & Generate"Tb4b4b4,
Tff7b72"generating"Tb4b4b4: Ta5d6ff"Generating..."Tb4b4b4,
Tff7b72"preview_greeting"Tb4b4b4: Ta5d6ff"Preview Greeting"Tb4b4b4,
Tff7b72"stop_preview"Tb4b4b4: Ta5d6ff"Stop Preview"Tb4b4b4,
Tff7b72"answer_delay_seconds"Tb4b4b4: Ta5d6ff"Answer Delay (s)"Tb4b4b4,
Tff7b72"max_recording_seconds"Tb4b4b4: Ta5d6ff"Max Recording (s)"Tb4b4b4,
Tff7b72"recording_voicemail"Tb4b4b4: Ta5d6ff"Recording Voicemail"Tb4b4b4,
Tff7b72"call_status"Tb4b4b4: Ta5d6ff"Call Status"Tb4b4b4,
Tff7b72"call_recording"Tb4b4b4: Ta5d6ff"Call Recorder"Tb4b4b4,
Tff7b72"call_recording_description"Tb4b4b4: Ta5d6ff"Record voice calls to storage"Tb4b4b4,
Tff7b72"recordings"Tb4b4b4: Ta5d6ff"Recordings"Tb4b4b4,
Tff7b72"no_recordings"Tb4b4b4: Ta5d6ff"No recordings found"Tb4b4b4,
Tff7b72"remote_rx"Tb4b4b4: Ta5d6ff"Remote (RX)"Tb4b4b4,
Tff7b72"local_tx"Tb4b4b4: Ta5d6ff"Local (TX)"Tb4b4b4,
Tff7b72"download_rx"Tb4b4b4: Ta5d6ff"Download RX"Tb4b4b4,
Tff7b72"download_tx"Tb4b4b4: Ta5d6ff"Download TX"Tb4b4b4,
Tff7b72"default_quality"Tb4b4b4: Ta5d6ff"Default Quality"Tb4b4b4,
Tff7b72"active_call"Tb4b4b4: Ta5d6ff"Active Call"Tb4b4b4,
Tff7b72"status"Tb4b4b4: Ta5d6ff"Status"Tb4b4b4,
Tff7b72"failed_to_answer_call"Tb4b4b4: Ta5d6ff"Failed to answer call"Tb4b4b4,
Tff7b72"failed_to_hangup_call"Tb4b4b4: Ta5d6ff"Failed to hangup call"Tb4b4b4,
Tff7b72"failed_to_toggle_microphone"Tb4b4b4: Ta5d6ff"Failed to toggle microphone"Tb4b4b4,
Tff7b72"failed_to_toggle_speaker"Tb4b4b4: Ta5d6ff"Failed to toggle speaker"Tb4b4b4,
Tff7b72"failed_to_switch_audio_profile"Tb4b4b4: Ta5d6ff"Failed to switch audio profile"Tb4b4b4,
Tff7b72"failed_to_initiate_call"Tb4b4b4: Ta5d6ff"Failed to initiate call"Tb4b4b4,
Tff7b72"enter_identity_hash_to_call_error"Tb4b4b4: Ta5d6ff"Enter an identity to call"Tb4b4b4,
Tff7b72"failed_to_save_settings"Tb4b4b4: Ta5d6ff"Failed to save settings"Tb4b4b4,
Tff7b72"do_not_disturb"Tb4b4b4: Ta5d6ff"Do Not Disturb"Tb4b4b4,
Tff7b72"load_more"Tb4b4b4: Ta5d6ff"Load More"Tb4b4b4,
Tff7b72"go_to_phone_page"Tb4b4b4: Ta5d6ff"Go to Phone Page"Tb4b4b4,
Tff7b72"search_history"Tb4b4b4: Ta5d6ff"Search history..."Tb4b4b4,
Tff7b72"allow_calls_from_contacts_only"Tb4b4b4: Ta5d6ff"Only allow calls from contacts"Tb4b4b4,
Tff7b72"settings_saved"Tb4b4b4: Ta5d6ff"Settings saved"Tb4b4b4,
Tff7b72"greeting_generated_successfully"Tb4b4b4: Ta5d6ff"Greeting generated successfully"Tb4b4b4,
Tff7b72"failed_to_generate_greeting"Tb4b4b4: Ta5d6ff"Failed to generate greeting"Tb4b4b4,
Tff7b72"no_greeting_audio_found"Tb4b4b4: Ta5d6ff"No greeting audio found. Please generate one first."Tb4b4b4,
Tff7b72"voicemail_deleted"Tb4b4b4: Ta5d6ff"Voicemail deleted"Tb4b4b4,
Tff7b72"failed_to_delete_voicemail"Tb4b4b4: Ta5d6ff"Failed to delete voicemail"Tb4b4b4,
Tff7b72"ringtone"Tb4b4b4: Ta5d6ff"Ringtone"Tb4b4b4,
Tff7b72"ringtone_settings"Tb4b4b4: Ta5d6ff"Ringtone Settings"Tb4b4b4,
Tff7b72"enable_custom_ringtone"Tb4b4b4: Ta5d6ff"Enable Custom Ringtone"Tb4b4b4,
Tff7b72"enable_custom_ringtone_description"Tb4b4b4: Ta5d6ff"Play a custom audio file for all incoming calls"Tb4b4b4,
Tff7b72"upload_ringtone"Tb4b4b4: Ta5d6ff"Upload Ringtone"Tb4b4b4,
Tff7b72"uploading_ringtone"Tb4b4b4: Ta5d6ff"Uploading Ringtone..."Tb4b4b4,
Tff7b72"no_custom_ringtone_uploaded"Tb4b4b4: Ta5d6ff"No custom ringtone uploaded"Tb4b4b4,
Tff7b72"supports_audio_formats"Tb4b4b4: Ta5d6ff"Supports MP3, OGG, WAV, M4A, FLAC. Will be converted to Opus."Tb4b4b4,
Tff7b72"preview_ringtone"Tb4b4b4: Ta5d6ff"Preview Ringtone"Tb4b4b4,
Tff7b72"remove_ringtone"Tb4b4b4: Ta5d6ff"Remove Ringtone"Tb4b4b4,
Tff7b72"ringtone_uploaded_successfully"Tb4b4b4: Ta5d6ff"Ringtone uploaded successfully"Tb4b4b4,
Tff7b72"failed_to_upload_ringtone"Tb4b4b4: Ta5d6ff"Failed to upload ringtone"Tb4b4b4,
Tff7b72"ringtone_deleted"Tb4b4b4: Ta5d6ff"Ringtone deleted"Tb4b4b4,
Tff7b72"failed_to_delete_ringtone"Tb4b4b4: Ta5d6ff"Failed to delete ringtone"Tb4b4b4,
Tff7b72"no_ringtone_audio_found"Tb4b4b4: Ta5d6ff"No ringtone audio found. Please upload one first."Tb4b4b4,
Tff7b72"ringtone_volume"Tb4b4b4: Ta5d6ff"Ringtone Volume"Tb4b4b4,
Tff7b72"default_ringtone"Tb4b4b4: Ta5d6ff"Default Ringtone"Tb4b4b4,
Tff7b72"ringtone_for_non_contacts"Tb4b4b4: Ta5d6ff"Ringtone for callers not in your contacts"Tb4b4b4,
Tff7b72"primary_system_default"Tb4b4b4: Ta5d6ff"Primary (System Default)"Tb4b4b4,
Tff7b72"random"Tb4b4b4: Ta5d6ff"Random"Tb4b4b4,
Tff7b72"edit_contact"Tb4b4b4: Ta5d6ff"Edit Contact"Tb4b4b4,
Tff7b72"add_contact"Tb4b4b4: Ta5d6ff"Add Contact"Tb4b4b4,
Tff7b72"contact_name"Tb4b4b4: Ta5d6ff"Contact Name"Tb4b4b4,
Tff7b72"preferred_ringtone"Tb4b4b4: Ta5d6ff"Preferred Ringtone"Tb4b4b4,
Tff7b72"default_global_setting"Tb4b4b4: Ta5d6ff"Default (Global Setting)"Tb4b4b4,
Tff7b72"uploaded_ringtones"Tb4b4b4: Ta5d6ff"Uploaded Ringtones"Tb4b4b4,
Tff7b72"save_contact"Tb4b4b4: Ta5d6ff"Save Contact"Tb4b4b4,
Tff7b72"primary_ringtone_set"Tb4b4b4: Ta5d6ff"Primary ringtone set"Tb4b4b4,
Tff7b72"failed_to_set_primary_ringtone"Tb4b4b4: Ta5d6ff"Failed to set primary ringtone"Tb4b4b4,
Tff7b72"failed_to_update_ringtone_name"Tb4b4b4: Ta5d6ff"Failed to update ringtone name"Tb4b4b4,
Tff7b72"failed_to_play_ringtone"Tb4b4b4: Ta5d6ff"Failed to play ringtone"Tb4b4b4,
Tff7b72"failed_to_play_voicemail"Tb4b4b4: Ta5d6ff"Failed to play voicemail"
Tb4b4b4},
Tff7b72"command_palette"Tb4b4b4: Tb4b4b4{
Tff7b72"search_placeholder"Tb4b4b4: Ta5d6ff"Search or type a command..."Tb4b4b4,
Tff7b72"no_results"Tb4b4b4: Ta5d6ff"No results found for \"{query}\""Tb4b4b4,
Tff7b72"nav_messages"Tb4b4b4: Ta5d6ff"Go to Messages"Tb4b4b4,
Tff7b72"nav_messages_desc"Tb4b4b4: Ta5d6ff"Open your recent conversations"Tb4b4b4,
Tff7b72"nav_nomad"Tb4b4b4: Ta5d6ff"Go to Nomad Network"Tb4b4b4,
Tff7b72"nav_nomad_desc"Tb4b4b4: Ta5d6ff"Browse the distributed web"Tb4b4b4,
Tff7b72"nav_map"Tb4b4b4: Ta5d6ff"Go to Map"Tb4b4b4,
Tff7b72"nav_map_desc"Tb4b4b4: Ta5d6ff"View peer locations and telemetry"Tb4b4b4,
Tff7b72"nav_paper"Tb4b4b4: Ta5d6ff"Paper Message Generator"Tb4b4b4,
Tff7b72"nav_paper_desc"Tb4b4b4: Ta5d6ff"Generate signed QR code messages"Tb4b4b4,
Tff7b72"nav_call"Tb4b4b4: Ta5d6ff"Go to Calls"Tb4b4b4,
Tff7b72"nav_call_desc"Tb4b4b4: Ta5d6ff"Voice calls and voicemails"Tb4b4b4,
Tff7b72"nav_settings"Tb4b4b4: Ta5d6ff"Go to Settings"Tb4b4b4,
Tff7b72"nav_settings_desc"Tb4b4b4: Ta5d6ff"App configuration and preferences"Tb4b4b4,
Tff7b72"action_sync"Tb4b4b4: Ta5d6ff"Sync Messages"Tb4b4b4,
Tff7b72"action_sync_desc"Tb4b4b4: Ta5d6ff"Request messages from propagation node"Tb4b4b4,
Tff7b72"action_compose"Tb4b4b4: Ta5d6ff"Compose New Message"Tb4b4b4,
Tff7b72"action_compose_desc"Tb4b4b4: Ta5d6ff"Start a new chat by address"Tb4b4b4,
Tff7b72"action_orbit"Tb4b4b4: Ta5d6ff"Orbit Mode"Tb4b4b4,
Tff7b72"action_orbit_desc"Tb4b4b4: Ta5d6ff"Toggle space orbit visualization"Tb4b4b4,
Tff7b72"group_recent"Tb4b4b4: Ta5d6ff"Recent Conversations"Tb4b4b4,
Tff7b72"group_contacts"Tb4b4b4: Ta5d6ff"Contacts"Tb4b4b4,
Tff7b72"group_actions"Tb4b4b4: Ta5d6ff"Quick Actions"Tb4b4b4,
Tff7b72"footer_navigate"Tb4b4b4: Ta5d6ff"Navigate"Tb4b4b4,
Tff7b72"footer_select"Tb4b4b4: Ta5d6ff"Select"
Tb4b4b4}
Tb4b4b4}
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────